home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / bbs / tftp156.zip / TOSSFTP.HST < prev    next >
Text File  |  1997-06-21  |  27KB  |  474 lines

  1.  
  2.  
  3.                              TOSS'in for FTP'in
  4.                      Copyright(c) 1995, by Lyn Borchert
  5.                             All Rights Reserved
  6.  
  7.                               [ Revision Log ]
  8.  
  9.  
  10.  
  11. 01/27/95  -  Pre-Release Beta v1.00b
  12.              The first beta test version to leave the nest.  This one
  13.              doesn't do much, just packetizes Areafix and Raid type
  14.              messages destine to the uplink node with minimal message
  15.              fiddling.
  16.  
  17. 01/29/95  -  Pre-Release Beta v1.30b
  18.              Spent considerable time developing the Bit manipulation
  19.              routines so I could not only read the msg header flags, but
  20.              also write them out.  There are certain flags that *should* be
  21.              toggled off when the message leaves a system.  At this point
  22.              I'm still not doing that and so far it really doesn't seem to
  23.              be causing any problems on the type of messages I've been
  24.              tossing. But, now that I'm going to start dealing with host
  25.              routed netmail, I suspect I'm gonna have to be more
  26.              conforming to the rules. :)
  27.  
  28.              I also spent considerable time working on the NOROUTE: keyword
  29.              for the config file.  Had to build the routines to read it in,
  30.              and then separate out the zone:net/node numbers into a 3
  31.              dimentioned array.  The really hard part was getting a good
  32.              working algorythem for processing these NOROUTE entries.  It
  33.              was a real brain teaser, but I think the method I ended up
  34.              with works very fast and should deal with things correctly.
  35.  
  36.              I did make some assumptions about host routed messages.  In
  37.              order for TOSSFTP to consider a message to be a host routed
  38.              message, several conditions have to be met.  I'll list them
  39.              below and if there are some host routed messages not getting
  40.              routed that you think ought to get routed, you'll need to let
  41.              me know.  I'll need to get from you, what, if any of the
  42.              following conditions was the cause of the failure to toss, why
  43.              that is no good for you, and then I'll see if I can't work
  44.              around it.  Otherwise, it stays as it is.
  45.  
  46.              To be considered a host routed netmail message, the following
  47.              conditions must be met and are checked in this order;
  48.              1) The message must have the FWD or IN TRANSIT flag turned on.
  49.              2) The message must NOT have the Sent flag turned on.
  50.              3) The message must NOT have the Hold flag turned on.
  51.              4) The message must NOT have the FD DIRECT kludge line.
  52.              5) The message must NOT be destine to your Net.
  53.              6) Finally, the message must not fail the NOROUTE: checking.
  54.  
  55.              If all these conditions are met, the message will be
  56.              packetized and deleted from netmail.
  57.  
  58.              Squashed a nasty bug in the config file reading.  TOSSFTP
  59.              wasn't ignoring the semi-colon lines.  It wasn't a problem as
  60.              yet, but could have been a bad problem in a heavily commented
  61.              config file.
  62.  
  63.              The toggling off of the handful of flags, will need to be
  64.              implimented before another release can be done.  Hopefully
  65.              I'll take care of that in a day or two.  The amount of work
  66.              done today warrants an increase in the version number by .30
  67.  
  68.              I've pretty much decided that once the host routing features
  69.              have been tested for a few weeks without trouble, I'll release
  70.              a "wide beta" copy with a drop dead in it.  Not sure how
  71.              popular this little utility will be, but the wide beta release
  72.              should tell me that over time and at the same time, help to
  73.              find any potential problems prior to a normal release.
  74.  
  75.  
  76. 01/29/95  -  Pre-Release Beta v1.40b
  77.              This one is now ready for testing I think.  TOSSFTP will now
  78.              properly set the flags on all messages it packetizes. (fingers
  79.              crossed)  I haven't done any testing on this yet, so be
  80.              careful.  Do a "test" run before commiting it to handling the
  81.              job for you. (make a backup of your mail before running this
  82.              version just incase the uplink refuses it or it packages up
  83.              the wrong mail)
  84.  
  85.              If this one works, we are almost ready for a release I think.
  86.              Just a little tweeking of the routing stuff might be in order
  87.              and I won't know until it's been in use for a while.  I think
  88.              version 1.50 will be the first official release of the
  89.              program.
  90.  
  91.  
  92. 01/29/95  -  Pre-Release Beta v1.41b
  93.              Ok, this time I got it for sure! (fingers crossed)  Re-hashed
  94.              the NOROUTE logic section which was really messed up.  Must
  95.              not have been thinking too staight when I wrote that section
  96.              before.  Anyway, the IN TRANSIT bit is no longer looked at,
  97.              TOSSFTP doesn't care about it anymore.  In it's place now, it
  98.              checks for the File Attach bit.  File Attach messages are not
  99.              allowed to be host routed any more.
  100.  
  101.              Multiple NOROUTE statements are now parsed properly. (previous
  102.              release was only parsing the first one)  Zone numbers are
  103.              still required. (haven't decided how I'm going to deal with
  104.              2:* yet, so it's not really a valid NOROUTE arguement)
  105.  
  106.              Due to the method I'm using to create PKT names, I had to
  107.              insert a pause during processing of host routed mail.  If a
  108.              message is determined to be a message that needs to be
  109.              packaged up, it will pause for one second after packetizing
  110.              the message.  PKT filenames are generated based on the number
  111.              of seconds since a particular time and without the delay,
  112.              TOSSFTP was going so fast that a multiple messages would get
  113.              written over top of each other because it was packing 4 to 5
  114.              messages a second.  That wasn't enough time to let the
  115.              filename generator come up with a new filename.  So, don't be
  116.              concerned if you see TOSSFTP pause for a second, it's supposed
  117.              to do that. (but only have tossing an outbound host routed
  118.              netmail message)
  119.  
  120.              Added the packet names generated to the log file.  Beta
  121.              testers should look at these names once in a while and tell me
  122.              if they ever see the same PKT name created more than once
  123.              during a single run of TOSSPKT.  If you see that, it means
  124.              that the first message was overwritten by the second message
  125.              to generate the same PKT name.  It shouldn't ever happen, but
  126.              it could and if it does, I need to know about it ASAP so I can
  127.              add more code to prevent this from happening again.
  128.  
  129. 02/26/95  -  Pre-Release Beta v1.41c
  130.              Dog gone it, found yet another problem with the packet naming
  131.              process that was causing successive outgoing messages to be
  132.              tossed on top of each other.  This time I know I fix it for
  133.              good!
  134.  
  135.              The release is a bug fix to the EXE file only.  Update by
  136.              simply overwriting TOSSFTP.EXE with the new one.
  137.  
  138.              Haven't had much time to work on this lately, sorry for such a
  139.              delay in getting another release out.  I'll try and do better
  140.              in the weeks to come. :)
  141.  
  142. 02/26/95  -  Pre-Release Beta v1.43
  143.              Another Routing Logic Battle has been won!  Thanks to Tom
  144.              Creek for pointing out a problem with the NOROUTE processing.
  145.              This was a pretty subtle problem, so to find it and for
  146.              possible future such problems, I've added two new Config
  147.              Keywords.
  148.  
  149.              DEBUG:ON | OFF will turn on lots of extra printing during
  150.              routed netmail processing.  This should make it easy to figure
  151.              out just why TOSSFTP isn't packing up a routed Netmail that
  152.              you think it should or why it is packing up a routed Netmail
  153.              that you think it shouldn't.
  154.  
  155.              DELETE:ON | OFF will cause TOSSFTP to either delete all routed
  156.              Netmail messages it packetizes or NOT.  If DELETE:OFF is used,
  157.              TOSSFTP will simply turn on the SENT flag and leave the *.msg
  158.              file alone.
  159.  
  160.              This stuff took me several hours to add and fix, so it seemed
  161.              appropriate to jump the revision number up to 1.43 this time.
  162.  
  163.  
  164. 03/30/95  -  Pre-Release Beta v1.44
  165.              Improved large .msg handling.  TOSSFTP should now skip over
  166.              any messages that exceed it's size limits.  (I know, .msg
  167.              files are not supposed to have a size limit, but for ease of
  168.              programming I have set a limit that is more than reasonable)
  169.              If a .msg exceeds the limit, TOSSFTP will log that fact and
  170.              skip the message instead of hanging your system.
  171.  
  172. 05/30/95  -  Pre-Release Beta v1.44 extended
  173.              The beta program has been extended with this version.  I've
  174.              decided to take it another 150 days from today simply because
  175.              I've fallen behind in my developement plans.  I've just been
  176.              too busy at work to devote any time to TOSSFTP these past
  177.              couple months.  Fortunately, I've received very little mail
  178.              from the beta testers, so it would seem that the program is
  179.              fairly stable in it's current condition.
  180.  
  181. 06/04/95  -  Pre-Release Beta v1.45
  182.              Tom Creek found another nasty problem.  (notice I'm not
  183.              calling it a bug!)  It would seem that there are some AreaFix
  184.              programs that can create a .msg that allows garbage in the
  185.              message header behind the TO: (and other) fields.  While this
  186.              isn't really against Fido Technical Standards, it is in my
  187.              opinion, a very poor programming practice.
  188.  
  189.              According to the FTS, the fields must be NUL terminated.  To
  190.              me, that means, if you have a 36 character field and you put a
  191.              10 character string in that field, the remaining 26 characters
  192.              will be NUL. The problem was that some programs where making
  193.              the 11th character a NUL and the remaining 25 characters would
  194.              be whatever junk was on the hard drive at the time.  Not only
  195.              does this make more work for TOSSFTP to clean out the junk,
  196.              but it makes if very difficult to use a HEX editor/viewer to
  197.              find problems with the header structure.  It just looks like a
  198.              bunch of garbage rather than a nicely formated structure.
  199.              Plus, these junk characters are kept by the compression
  200.              program whereas 26 nuls will be represented thus causing
  201.              better compression of the message.
  202.  
  203.              Granted, these are all minor things, but for systems with
  204.              large message traffic, these little things would add up fast.
  205.              These are common practices by many C and Pascal programmers
  206.              simply because they tend to read and write files once
  207.              character at a time rather than the more efficient Block Read
  208.              & Write methods.  At any rate, with a slight processing speed
  209.              reduction, TOSSFTP will now deal message created with these
  210.              kinds of practices.
  211.  
  212.              DELETE:OFF enhancement
  213.              For those of you who prefer to manually delete sent mail, I've
  214.              expanded the delete off feature to include Areafix and Filefix
  215.              messages.  They will now simply be marked as SENT rather than
  216.              deleted and future program runs will skip over any messages
  217.              that have the SENT flag on.  This behavior is also logged.
  218.  
  219.              New LOGFILE: Keyword (Optional)
  220.              By request, you can now tell TOSSFTP where to place it's
  221.              logfile and what to name the file.  Look at the sample
  222.              TOSSFTP.CFG file in this archive for specific instructions on
  223.              how to use this new feature.   I've made it an optional
  224.              keyword.  If TOSSFTP does not find this keyword, it will
  225.              simply go back to the default of writing TOSSFTP.LOG to the
  226.              current directory.
  227.  
  228.              Lastly, I'm changing the method of distribution with this
  229.              release.  We now have several people running TOSSFTP and as a
  230.              result, it's becoming a pain in the butt to send everyone a
  231.              file attached E-mail with the new releases.  So, I'm now going
  232.              to make it available for file request from 1:300/1 at speeds
  233.              up to 28.8k.  The most recent version will always be available
  234.              via the magic name TOSSFTP, 23 hours a day.
  235.  
  236.              One last thing, if you are reporting a problem, please include
  237.              a copy of your TOSSFTP.CFG and a clip of your log file that
  238.              was created in DEBUG mode showing the error (or not if it
  239.              didn't register).  Send them to 1:300/12 or you can E-mail
  240.              them to lynb@primenet.com.  Keep in mind that I only check
  241.              E-mail a couple times a week, but Netmail on 300/12 is seen
  242.              several times a day.
  243.              
  244.  
  245. 08/18/95  -  First Full Release v1.50
  246.  
  247.              Minor bug fix.  TOSSFTP should now handle *.msg files named
  248.              with numbers higher than 32,000.  Who would have ever thought
  249.              someone would have more than 32,000 *.msg files in their
  250.              netmail directory. :)
  251.  
  252.              New feature suggested by Tom Creek. Errorlevel Setting.
  253.              TOSSFTP will now set an exit errorlevel of either 0 or 1
  254.              depending on whether it did any tossing or not.  An errorlevel
  255.              of 0 means it did NOT toss any *.msg or echomail bundles.  An
  256.              errorlevel of 1 indicates that something got tossed.  Thanks
  257.              Tom.
  258.  
  259.              Documentation re-write.  With this being a full release the
  260.              docs now contain all the license and disclaimer information.
  261.              Please read through this stuff. (at least once) Just so you
  262.              know where you and I stand.  This version is the first to not
  263.              contain a "drop dead date" embedded in it.  Instead it will
  264.              start beeping and pausing after a 30 day evaluation period
  265.              unless there is a valid serial number in the config file.
  266.  
  267.  
  268. 11/04/95  -  Bug Release v1.54
  269.              Fixed a few problems as follows.
  270.  
  271.              Tom Creek reported that the errorlevel setting was only
  272.              happening if we tossed host routed netmail and not when the
  273.              program only tossed an echomail bundle or two.  I decided to
  274.              fix and enhance this a bit.  With this version, if an echomail
  275.              bundle was tossed, the errorlevel will be set to 1.  If a host
  276.              routed netmail message is tossed the errorlevel will be set to
  277.              2.  And if both operations take place the errorlevel will be
  278.              set to 3.
  279.  
  280.              Another bug caught by myself first and reported by a couple
  281.              others was that TossFTP would frequently not toss some routed
  282.              netmail until a second or third run of the program.  Instead
  283.              it would simply report the message destination and then go on
  284.              to the next message.  This was really a very difficult bug to
  285.              trace down, but trace it down I did.  To be breif, the problem
  286.              was the result of the variable containing the AreaMgr's
  287.              Destination address being trampled with the address of the
  288.              most recently tossed message.  The result was the first routed
  289.              netmail message encounted was tossed correctly and none after
  290.              that.  Echomail bundles were not affected by this.  It's now
  291.              fixed.
  292.  
  293.              Yet another suggestion by Tom Creek.  (I may have to give him
  294.              some money for all his assistance here)  It seems that TossFTP
  295.              didn't care what was in the outbound directory.  Normally not
  296.              a problem, but if you had copied an echomail bundle over
  297.              manually and manually truncated the source file and FORGOT to
  298.              delete the file attach message...  The next run of TossFTP
  299.              would (you guessed it) copy the zero length file over top of
  300.              the file in the outbound directory.  Affectively and
  301.              irreversably deleting that outbound mail.  For safety's sake,
  302.              TossFTP now checks for the existance of the destination file
  303.              before doing a copy and if it exists it exits the program
  304.              immediately with an errorlevel to denote the cause of the
  305.              problem.  It does not continue processing the rest of the
  306.              mail.
  307.  
  308.              File Sharing has been added.   I've added the code necessary
  309.              to get along with other multi-user software.  This is not
  310.              fully implimented in this release, but TossFTP will now
  311.              correctly "share" and "lock" files that it is making use of.
  312.              If it is unable to get a lock on a file, it will still
  313.              generate an error and skip to processing the next message.  In
  314.              the future, I may make it continue to attempt to get the file
  315.              lock.  Right now, I don't think that is such a good idea
  316.              because it could cause TossFTP to end up in a continous loop.
  317.              I still maintain that if you operate in a multi-node
  318.              environment that you MUST take down all nodes that would have
  319.              anything to do with your *.msg directory when running TossFTP.
  320.              This is the ONLY way to be sure the messages don't get
  321.              renumbered in the middle of a TossFTP session (which would
  322.              cause extreme damage) and it's the only way to be sure no
  323.              other program has a message file locked preventing TossFTP
  324.              from working on it.
  325.  
  326.              Lastly, for this release, I've re-written the error-trapping
  327.              code.  Included in the archive is a file called ERR.TXT which
  328.              contains all the errorlevels that could be set by TossFTP
  329.              based on certain conditions.  Basically, you can consider any
  330.              errorlevel between 100 and 255 as a fatal error.  There are
  331.              some errors that are higher than 200, but they are very
  332.              unlikely to ever happen.  In this version, TossFTP will
  333.              continue processing even though a fatal error was encountered.
  334.              This is a potentially dangerous situation, however, it should
  335.              not cause any damage other than to possibily to the message
  336.              that caused the error in the first place.
  337.  
  338.  
  339. 11/04/95  -  Interium Release v1.55
  340.  
  341.              It appears that some mail tossers are very nit-picky about
  342.              short packets.  A "short" packet is a PKT that doesn't have a
  343.              PKT termination character ending it.  In my opinion, this
  344.              should not be a "fatal" error causing stopage of mail
  345.              delivery.  Afterall, the format of the message inside the PKT
  346.              is correct and complete, the PKT header is correct and
  347.              complete.  If the tosser gets to the end of the PKT without
  348.              experiencing any errors in format of the messages processed so
  349.              far, why not just stop processing?  At most maybe write to the
  350.              log that the PKT ended without a PKT terminator, but still
  351.              process the PKT and deliver the mail.  Apparently, there are
  352.              some tossers that treat this as bad mail and refuse to deliver
  353.              the mail when there is only one NUL ending a PKT instead of 3
  354.              NULs.  As a result, this version of TOSSFTP will now create
  355.              PKT files with the 3 NULs ending the file.  Hope it doesn't
  356.              break anything else. :)
  357.  
  358.              During this quick release I also took the time to add a
  359.              command line argument.  For those of you who have more than
  360.              one DEST system, you can now place the full path and filename
  361.              of the *.CFG file you wish TOSSFTP to use.  If no command line
  362.              arguement is found, the default of TOSSFTP.CFG will be used.
  363.              If the alternate *.CFG file is in the current directory, you
  364.              don't need to specify the path to it.  Examples Follow;
  365.  
  366.              C:\TFTP\> TOSSFTP
  367.                     Uses TOSSFTP.CFG located in the current directory
  368.  
  369.              C:\TFTP\> TOSSFTP c:\mail\toss2.cfg
  370.                     Uses TOSS2.CFG located in the c:\mail directory
  371.  
  372.              C:\TFTP\> TOSSFTP toss3.cfg
  373.                     Uses TOSS3.CFG located in the current directory
  374.  
  375.              The purpose of this addition is to allow systems to run
  376.              TOSSFTP multiple times with different config files in order to
  377.              toss mail to different uplink systems.  It's not likely that
  378.              TOSSFTP will in the future have the ability to have one config
  379.              file reflect multiple uplink systems in order to process all
  380.              systems in one pass.  The main reason is because virtually
  381.              everything in the CFG file would have to be duplicate'able.
  382.              Since TOSSFTP doesn't really take all that long to do it's
  383.              thing and using multiple CFG files will accomplish the same
  384.              task, I'm not convienced it's worth my effort to support
  385.              multiple DEST nodes in one CFG file.  Maybe in the future I'll
  386.              decide differently, but for now this will have to do.
  387.  
  388.              Finally, I did some tweeking of the status bar that displays
  389.              during *.MSG gathering and sorting.  It should look nicer on
  390.              systems running FAST machines with large numbers of Netmail
  391.              messages.  The only purpose for this thing is so you can tell
  392.              whether TOSSFTP is actually still doing something or is hung.
  393.              When you have several hundred Netmail messages for TOSSFTP to
  394.              scan and sort, it can take several seconds to do it.  In the
  395.              past, it would look like TOSSFTP was hung while this
  396.              processing took place, so I added this little ditty to
  397.              indicate processing was still going on.  It adds a very small
  398.              amount of overhead to the sorting, but I think it was worth
  399.              the sacrifice.  (Keeps my heart from stopping anyway)
  400.  
  401.              There you have it, for the New Year.  I seriously don't intend
  402.              to release any new versions in 1996 unless something drastic
  403.              happens.  The next real release will be a substantially
  404.              different program implimenting several rather major changes to
  405.              TOSSFTP.  At that time, I will probably make a feature-less,
  406.              free to use version and slightly increase the registration for
  407.              the new release.  Whether I ask current registered users to
  408.              kick in some more dollars for the new release is not decided
  409.              and I don't expect to decide til I see the end results of my
  410.              labors.  At worst, they may have to pay an upgrade fee that
  411.              will be less than new user registration.  But it will be worth
  412.              it.
  413.  
  414.              Some of the things I'm interested in doing to TOSSFTP are;
  415.  
  416.                   Make it Zone Aware
  417.                   Totally re-vamp Routing control
  418.                   Selective PKT Types
  419.                   Support for Non-Echomail OUTBOUND File Attaches
  420.                   Improved processing speed
  421.                   Support for a SQUISH Netmail File
  422.                   FD & IM Semaphore Support
  423.                   Support for Other Mailers
  424.                   Improved Multi-Node Operation
  425.                   Direct Comm & FTP via PPP/SLIP implimentation making
  426.                      TOSSFTP the only program you need to connect and
  427.                      send/receive your files.
  428.  
  429.              The last one there is a BIG if, but none the less, it's
  430.              something I'm interested in doing.
  431.  
  432.              Have a GREAT 1996 guys and gals.
  433.  
  434.  
  435. 06/20/97  -  Update Release v1.56
  436.  
  437.              Wow, has it really been almost a year and a half?  Well, 1996
  438.              was a holiday year for me.  You will all be happy to know I've
  439.              started work on v2.00.  I did decide to create a new
  440.              configuration program and data file. It does support multiple
  441.              destinations and is nearly complete. After that I'll start on
  442.              the revisions to the actual tossing program.  With some luck
  443.              we might see v2.00 round the first of 1998.
  444.  
  445.              For this release, I did some cleaning up of the niffty little
  446.              status bar.  It should work much better.  I know I keep saying
  447.              that, but I'll get it one of these times. I corrected some
  448.              spelling errors that have been pointed out by users.
  449.  
  450.              I'm also dropping out of national echomail distribution, so I
  451.              won't be able to read the FTPHUB echo anymore.  I needed to
  452.              get a new release with revised contact information in the
  453.              documentation and wanted to do so before my access was
  454.              terminated.
  455.  
  456.              My BBS will remain alive and a member of Fido. 1:300/12  So
  457.              you can still reach me via Netmail at that address.  I'm also
  458.              on the net with a perminent E-Mail address of
  459.              lyn.borchert@usa.net
  460.              The latest version of TossFTP can be gotten from my website
  461.              currently http://www.dakotacom.net/~lynbor  and soon there
  462.              will be a mailing list you can join to get support as well as
  463.              future release information.  More on that later.  The website
  464.              is probably the most "if'y thing" since it's address changes
  465.              if I change my internet service provider.  I'm sure George
  466.              Peace will continue to keep a recent copy available at his FTP
  467.              site and Mike Jordan's site at ftp.europa.com in
  468.              /outgoing/tossftp/
  469.  
  470.  
  471.  
  472.  
  473.  
  474.